////////////////////////////////////////////////////////////////////////////////
//
// $Id$ 
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
// 
// This software consists of voluntary contributions is licensed under the 
// MIT <http://www.opensource.org/licenses/mit-license.php>. 
// 
// 
// Portuguese Translation
// 
// ESTE SOFTWARE É FORNECIDO “COMO ESTÁ”, SEM GARANTIAS DE QUALQUER ESPÉCIE, 
// EXPRESSAS OU TÁCITAS, INCLUINDO SEM LIMITAÇÕES, QUAISQUER GARANTIA DE COMERCIABILIDADE, 
// DE ADEQUAÇÃO A FINALIDADES ESPECÍFICAS OU DE NÃO VIOLAÇÃO A DIREITOS DE TERCEIROS. 
// EM NENHUMA HIPÓTESE OS AUTORES OU TITULARES DOS DIREITOS AUTORAIS SERÃO RESPONSÁVEIS 
// POR QUAISQUER RECLAMAÇÕES E/OU INDENIZAÇÕES POR DANOS OU POR OUTROS MOTIVOS, 
// SEJAM ESSES DERIVADOS DE OBRIGAÇÕES CONTRATUAIS OU DE DECISÕES JUDICIAIS, 
// ILÍCITOS CIVIS OU OUTROS MOTIVOS, OS QUAIS VENHAM A OCORRER EM CONSEQÜÊNCIA 
// OU EM RELAÇÃO AO SOFTWARE , A SEU USO OU OUTRA FORMA DE NEGOCIAÇÃO/UTILIZAÇÃO. 
// 
// Esse software consiste de contribuições voluntárias e está sobre a licença
// MIT <http://www.opensource.org/licenses/mit-license.php>.
// 
////////////////////////////////////////////////////////////////////////////////

package br.mcaslib.common
{
	import br.mcaslib.swiz.view.CrudFilterBoolean;
	
	import mx.core.IVisualElement;
	
	[RemoteClass(alias="br.mcaslib.common.FieldBoolean")]
	[Bindable]
	
	public class FieldBoolean extends Field
	{
		//--------------------------------
		// view
		//--------------------------------
		
		override public function createView():IVisualElement {
			var view:CrudFilterBoolean = new CrudFilterBoolean();
			return view;
		}
		
		//--------------------------------
		// filterApply
		//--------------------------------
		
		override public function getFilterApply(view:IVisualElement):FilterApply {
			var crudView:CrudFilterBoolean = view as CrudFilterBoolean;
			var fa:FilterApply = super.getFilterApply(view);
			
			fa.value = crudView.value.selected;
			fa.operator = "==";
			
			return fa;
		}
		
		override public function setFilterApply(view:IVisualElement, value:FilterApply):void {
			super.setFilterApply(view,value);
			var v:CrudFilterBoolean = view as CrudFilterBoolean;
			
			v.setValue( value.value );
		}
		
		//--------------------------------------------------------------------------------------------------
		//
		// Constructor
		//
		//--------------------------------------------------------------------------------------------------
		
		public function FieldBoolean() {
		}
	}
}
